/*
 * create:2016年4月18日 下午5:06:55
 * author:wangds  
 */
package net.wangds.comp.endpoint.http.json;

import java.util.Collections;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.wangds.comp.endpoint.http.AbstractHttpRequestInterpreter;
import net.wangds.comp.endpoint.http.DefaultHttpAccessContext;
import net.wangds.comp.endpoint.http.interpreter.ReqPostBodyToStringInterpreter;
import net.wangds.comp.json.JsonUtil;
import net.wangds.utilities.lang.StringUtils;

/**
 * .
 * @author wangds
 *
 */
public class PostJsonBody2MapInterpreter extends AbstractHttpRequestInterpreter<Map<String,Object>> {

  private ReqPostBodyToStringInterpreter inner = new ReqPostBodyToStringInterpreter();

  /**
   * .
   * @author wangds 2016年4月18日 下午5:24:09.
   * @return
   * @see net.wangds.comp.endpoint.http.interpreter.ReqPostBodyToStringInterpreter#getEncoding()
   */
  public String getEncoding() {
    return inner.getEncoding();
  }

  /**
   * .
   * @author wangds 2016年4月18日 下午5:24:09.
   * @param encoding
   * @see net.wangds.comp.endpoint.http.interpreter.ReqPostBodyToStringInterpreter#setEncoding(java.lang.String)
   */
  public void setEncoding(String encoding) {
    inner.setEncoding(encoding);
  }

  /*
   * @see net.wangds.comp.endpoint.http.AbstractHttpRequestInterpreter#interpreter(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
   * @author wangds 2016年4月18日 下午5:24:51.
   */
  @Override
  protected Map<String, Object> interpreter(HttpServletRequest req, HttpServletResponse resp) {
    Map<String, Object> res = Collections.emptyMap();
    this.inner.interpreter(new DefaultHttpAccessContext(req, resp));
    String body = this.inner.getInterpreterResult();
    if(StringUtils.isBlank(body)){
      return res;
    }
    res = JsonUtil.toHashMap(body);
    return res;
  }
  
  


}
